#ifndef _List_H
#define _List_H



typedef struct
{
    int a,b;
} ElementType,State;
struct Node;
typedef struct Node *PtrToNode;
typedef PtrToNode List;
typedef PtrToNode Position;


void MakeEmpty( List L );
List CreateList( void );
int IsEmpty( List L );
int IsLast( Position P, List L );
Position Find( ElementType X, List L );
void Delete( List L, Position P );
Position FindPrevious( ElementType X, List L );
void Insert( ElementType X, List L, Position P );
void DeleteList( List L );
Position Header( List L );
Position First( List L );
Position Last( List L );
Position Advance( Position P );
ElementType Retrieve( Position P );
void Modify( ElementType X, Position P );
void PrintList(List L);

#endif    /* _List_H */
/* END */
